#pragma once

#include <dshow.h>
#pragma comment(lib, "Strmiids.lib")
//#include "DirectInput.h"
//#include "Drawable.h"

//Holds all the video information
// Is only used at the beginning of the game,
class Video
{
private:
	Video(){}
public:
	bool*			m_bKeysDown;
	IGraphBuilder*	m_pGraphBuilder;
	IMediaControl*	m_pMediaControl;
	IMediaEvent*	m_pMediaEvent;
	IVideoWindow*	m_pVideoWindow;
	bool			m_bPlaying;

	inline static Video* Engine()
	{
		static Video theVideoDevice;
		return &theVideoDevice;
	}

	//Initializer
	bool Init(HWND hWnd);
	//Plays the video
	void Toggle(bool Commands);
	bool IsPlaying(){return m_bPlaying;}
	//Closes its window
	void ShutDownVideo(HWND hWnd);

};